﻿using System;
using System.Collections.Generic;
using System.Text;
using Manager.App_Code.IDAL;
using Manager.App_Code.DTO;
using System.Data;

namespace Manager.App_Code.DAL
{
    class NhomDichVuDAL:StandardConnectDB,INhomDichVu
    {

        public List<DTO.NhomDichVuDTO> GetlistNhomDichVu()
        {
            List<NhomDichVuDTO> listNhomDichVu = new List<NhomDichVuDTO>();
            DataTable dt = this.DTExecuteSelect("Select * from NhomDichVu");
            foreach (DataRow dr in dt.Rows)
            {
                listNhomDichVu.Add(ConvertObjectDataRowToNhomDichVuDTO(dr));
            }
            return listNhomDichVu;
            
        }

        public DTO.NhomDichVuDTO GetNhomDichVuByID(string MaNhomDV)
        {
            NhomDichVuDTO nhomDV = new NhomDichVuDTO();
            Dictionary<string, object> paramlist = new Dictionary<string, object>();
            paramlist.Add("@MaNhomDV", MaNhomDV);
            DataTable dt = DTExecuteSelect("SP_NhomDichVu_GetByID", paramlist);
            nhomDV = ConvertObjectDataRowToNhomDichVuDTO(dt.Rows[0]);
            return nhomDV;
            
        }

        public bool InsertNhomDichVu(DTO.NhomDichVuDTO nhomDV)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();
            paramlist.Add("@MaNhomDV", nhomDV.MaNhomDV);
            paramlist.Add("@TenNhomDV", nhomDV.TenNhomDV);
            paramlist.Add("@GhiChu", nhomDV.GhiChu);
            return ExecuteUpdate("SP_NhomDichVu_Insert", paramlist);
            
        }

        public bool DeleteNhomDichVu(DTO.NhomDichVuDTO nhomDV)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();
            paramlist.Add("@MaNhomDV", nhomDV.MaNhomDV);
            return ExecuteUpdate("SP_NhomDichVu_Delete", paramlist);
            throw new NotImplementedException();
        }

        public bool UpdateNhomDichVu(DTO.NhomDichVuDTO nhomDV)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();
            paramlist.Add("@MaNhomDV", nhomDV.MaNhomDV);
            paramlist.Add("@TenNhomDV", nhomDV.TenNhomDV);
            paramlist.Add("@GhiChu", nhomDV.GhiChu);
            return ExecuteUpdate("SP_NhomDichVu_Update", paramlist);

        }

        public DTO.NhomDichVuDTO ConvertObjectDataRowToNhomDichVuDTO(System.Data.DataRow dr)
        {
            if (dr != null)
            {
                NhomDichVuDTO nhomDV = new NhomDichVuDTO();
                nhomDV.MaNhomDV = dr["MaNhomDV"].ToString();
                nhomDV.TenNhomDV = dr["TenNhomDV"].ToString();
                nhomDV.GhiChu = dr["GhiChu"].ToString();

                return nhomDV;
            }
            else
                return null;
            
        }
    }
}
